Given the ubiquitous nature of mobile electronic devices such as, for example, mobile communication devices like cellular telephones, many people are utilizing an expanding variety of applications that are executable at such mobile electronic devices. For example, applications for providing services related to communications, media sharing, information gathering, education, gaming, and many others have been developed, fueled by consumer demand. One particular area in which consumer demand has triggered an expansion of services relates to the establishment of communication sessions during which, for example, Internet telephone calls, multimedia distribution, multimedia conferences and the like may be established. Examples of protocols which may be used in such communication sessions may include, for example, Session Initiation Protocol (SIP), Motorola Push-to-Talk (M-PTT) protocol, and the like.
SIP is an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. SIP is widely used as a signaling protocol for Voice over Internet Protocol (VoIP) and media sharing applications. SIP is addressing neutral, with addresses expressed as a uniform resource locator (URL), a uniform resource identifier (URI), a telephone number, an email like address, or the like. SIP is generally considered to be lightweight since it has a limited number of methods to reduce complexity, and transport-independent since it can be used with User Datagram Protocol (UDP), Transport Control Protocol (TCP) and other transport protocols.
SIP clients may use, for example, TCP or UDP to connect to a SIP server and/or other SIP endpoints. As such, SIP may be used in setting up and tearing down voice or video calls or in any application where session initiation is employed. SIP, therefore, provides a signaling and call setup protocol for IP-based communications that can support a superset of call processing functions and features present in the public switched telephone network (PSTN).
SIP is a peer-to-peer protocol which works in concert with several other protocols and is typically only involved in the signaling portion of a communication session. SIP invitations are used to create sessions and SIP signaling is used to carry session descriptions that allow participants to agree on a set of compatible media types. SIP servers, or proxy servers, may help route requests to users, implement provider call-routing policies, provide features to users, etc. SIP also provides a registration function to allow users to upload their current locations to the proxy server.
M-PTT protocol is an example of a SIP based protocol which may be employed for session based communications such as push-to-talk (PTT) communications. M-PTT signaling messages are text based messages which may be used to set up calls from one network node (e.g., a mobile terminal such as a mobile phone) to another. For example, M-PTT or another session based protocol may be used to set up a PTT call between two network nodes that have subscribed to a PTT service. Since M-PTT signaling messages are text based, commercially available cellular applications using M-PTT protocol for signaling may encode the M-PTT signaling messages in UTF-8 format before transmitting the messages to their respective destinations. UTF-8 is a variable-length character encoding scheme developed for Unicode. UTF-8 may represent any universal character in the Unicode standard, yet its initial encoding of byte codes and character assignments is coincident with ASCII. UTF-8 uses one to four bytes per character, depending on the Unicode symbol.
In order to enable establishment of, for example, a PTT call, an initiating node in a communication system such as a code division multiple access (CDMA) system may send signaling messages over a radio frequency (RF) channel attempting to establish the PTT call. Using encoding commonly employed today, such as UTF-8 encoding, session related protocol signaling messages may be considered bulky with respect to the RF channel's bandwidth capacity. For example, M-PTT signaling messages are often about 250 bytes. Thus, assuming a typical data rate of an RF channel of about 9.6 kilobytes per second (kbps), it may take 200 ms to transmit a single M-PTT protocol signaling message. Given that there are typically many such messages being communicated between a server and its associated clients, delays may be experienced which may negatively impact real-time sensitive applications such as VoIP, PTT, video telephony, video instant messaging and the like.
Accordingly, it may be desirable to provide a mechanism by which to address at least some of the problems described above.